perm filename KBX.FAI[TMP,LCS] blob sn#187359 filedate 1975-11-21 generic text, type T, neo UTF8
00100		TITLE KBSCAN
00200		AC←1
00300		INTERNAL KBS
00400	KBS:	0		;CHR = KBS   CALL KBS(CHR1,CHR2)
00500		PTJOBX [0 ↔ 3]	;SET LINE
00600		INCHRW AC	;INPUT CHR
00700	
00800		SETZ 3,
00900		
01000		MOVE 2,AC
01100		CAIN AC,"D"	;IF IT IS A NOTE
01200		MOVEI 2,"C"	;--C--THEN TYPE NOTE CHR
01300		CAIN AC,"F"	; --D--
01400		MOVEI 2,"D"
01500		CAIN AC,"G"	; --E--
01600		MOVEI 2,"E"
01700		CAIN AC,"H"	; --F--
01800		MOVEI 2,"F"
01900		CAIN AC,"J"	; --G--
02000		MOVEI 2,"G"
02100	
02200		CAIN AC,"K"	; FOR --A--
02300		MOVEI 2,"A"
02400	
02500		CAIN AC,"L"	; FOR --B--
02600		MOVEI 2,"B"
02700	
02800		CAIE AC,"R"	;IF IT IS A NOTE
02900		JRST .+3
03000		MOVEI 2,"C"	;--C--THEN TYPE NOTE CHR
03100		SETO 3,
03200		CAIE AC,"T"	;--D#--
03300		JRST .+3
03400		MOVEI 2,"D"
03500		SETO 3,
03600		CAIE AC,"U"	;--F#--
03700		JRST .+3
03800		MOVEI 2,"F"
03900		SETO 3,
04000		CAIE AC,"I"	;--G#--
04100		JRST .+3
04200		MOVEI 2,"G"
04300		SETO 3,
04400		CAIE AC,"O"	;--A#--
04500		JRST .+3
04600		MOVEI 2,"A"
04700		SETO 3,
04800		CAIE AC,"C"	;--DF--
04900		JRST .+3
05000		MOVEI 2,"D"
05100		AOJ 3,
05200		CAIE AC,"V"	;--EF--
05300		JRST .+3
05400		MOVEI 2,"E"
05500		AOJ 3,
05600		CAIE AC,"N"	;--GF--
05700		JRST .+3
05800		MOVEI 2,"G"
05900		AOJ 3,
06000		CAIE AC,"M"	;--AF--
06100		JRST .+3
06200		MOVEI 2,"A"
06300		AOJ 3,
06400		CAIE AC,","	;--BF--
06500		JRST .+3
06600		MOVEI 2,"B"
06700		AOJ 3,
06800		CAIN AC,"Y"	; --R FOR REST--
06900		MOVEI 2,"R"
06910		CAIN AC,"B"	; NATURAL
06920		MOVEI 2,"N"
07000	PRNT:	OUTCHR 2
07100		LSH 2,35
07200		OR 2,[1004,,20100]
07300	
07400		MOVEM 2,@(16)	;RETURN WITH IT
07500		JUMPL 3,SHRP
07600		JUMPE 3,DONE	; NO ACCI
07700		MOVEI 3,"b"	;  FLAT
07800		JRST ACCI
07900	DONE:	MOVEM 3,@1(16)	;RETURN WITH IT
08000		PTJOBX [0 ↔ 4]	;RESET LINE
08100		
08200		JRA 16,2(16)	;YOU MIGHT WANT TO RETURN
08300				;WITH THE CHANGED CHR OR
08400				;TURN IT IN TO FORTRAN A4 FORMAT
08500	SHRP:	MOVEI 3,"#"	;--S--
08600	ACCI:	OUTCHR 3
08700		CAIN 3,"#"
08800		MOVEI 3,"S"
08900		CAIN 3,"b"
09000		MOVEI 3,"F"
09100		LSH 3,35
09200		OR 3,[1004,,20100]
09300		JRST DONE
09400	
09500		END